home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Disc to the Future 2
/
Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin
/
MAC
/
THINKC
/
5
/
CHASSIS_
/
MENUUPDA.C
< prev
next >
Wrap
Text File
|
1992-05-14
|
3KB
|
103 lines
/************************************************************************************/
/* MenuUpdate */
/* */
/* Controls activation of menu items. */
/************************************************************************************/
#include "MyHeaders.h"
int MenuUpdate(int WType)
{
Handle menuH;
int MURetCode = 0; /* set return code */
/****************************************************************************/
/* The following are the same all the time. Not changed by this proc. */
/* Set in the resource definition, instead. */
/* */
/* AppleMenuID AboutItem */
/* HelpItem */
/* */
/* FileMenuID NewItem */
/* QuitItem */
/* */
/* ProgramMenuID KudosItem */
/* */
/****************************************************************************/
switch (WType)
{
case (ProcMain):
menuH = (Handle) myMenuHandle[1]; /* File menu */
DisableItem (menuH, CloseItem);
DisableItem (menuH, PrintItem);
DisableItem (menuH, SaveItem);
DisableItem (menuH, SaveAsItem);
menuH = (Handle) myMenuHandle[2]; /* Edit menu */
DisableItem (menuH, CopyItem);
DisableItem (menuH, CutItem);
DisableItem (menuH, PasteItem);
DisableItem (menuH, ClearItem);
break;
case (ProcText):
workTEHandle = windTbl[windSub].windTEH[0]; /* get TE handle */
menuH = (Handle) myMenuHandle[1]; /* File menu */
EnableItem (menuH, CloseItem);
if (windTbl[windSub].windTEChanged == TRUE)
EnableItem (menuH, SaveItem);
else
DisableItem (menuH, SaveItem);
EnableItem (menuH, SaveAsItem);
if ((**workTEHandle).teLength > 0)
EnableItem (menuH, PrintItem);
else
DisableItem (menuH, PrintItem);
menuH = (Handle) myMenuHandle[2]; /* Edit menu */
if (((**workTEHandle).selStart < (**workTEHandle).selEnd)
&& (**workTEHandle).teLength > 0)
{
EnableItem (menuH, CopyItem);
EnableItem (menuH, CutItem);
EnableItem (menuH, ClearItem);
}
else
{
DisableItem (menuH, CopyItem);
DisableItem (menuH, CutItem);
DisableItem (menuH, ClearItem);
}
worklong = GetScrap (NIL,'TEXT',&scrapOffset); /* desk scrap info */
if (worklong > 0) /* if something there */
EnableItem (menuH, PasteItem); /* enable "Paste" */
else
DisableItem (menuH, PasteItem); /* else disable "Paste" */
break;
case (ProcHelp):
menuH = (Handle) myMenuHandle[1]; /* File menu */
EnableItem (menuH, CloseItem);
DisableItem (menuH, PrintItem);
DisableItem (menuH, SaveItem);
DisableItem (menuH, SaveAsItem);
menuH = (Handle) myMenuHandle[2]; /* Edit menu */
DisableItem (menuH, CopyItem);
DisableItem (menuH, CutItem);
DisableItem (menuH, PasteItem);
DisableItem (menuH, ClearItem);
break;
}
return MURetCode; /* return*/
}